import router from "../router"
import $bus from "../utils/bus"

// 全局前置钩子

// 只要进入页面之前都会调用

// 返回值：
// 1.false 阻止路由的进入

// 2.返回一个路径对象,终止进入to的路径,转而进入return的路径

// 需求:用户未登入的情况下,不允许访问其他页面(判断本地是否有token,如果有就放行,如果没有就重新冲转到登录页面)

// 如果登入了,就可以访问其他页面 
router.beforeEach((to,from)=>{
    // console.log('to-------------',to)
    // console.log('from---------',from);
  
    let token = sessionStorage.getItem("qf-token")

    if(!token){
        // 没有token,说明用户没有登录
        if(to.path!=="/login"){
            // 没登入,访问的还不是登录页,重新给它跳转到登录页
            return{
                path:"/login"
            }
        }
    }   
    // throw Error('未知错误')
})



// 全局后置钩子
// 路由元信息,每个路由都有一个meta属性,可以给路由配置添加一个额外的标识和属性
router.afterEach((to,from) =>{
    console.log("to======",to);
    // console.log("from======",from);

    // 通过to.mathched属性,来获取面包屑需要的属性,要把数据传递给app组件中的data
   $bus.$emit('breadChange',to.matched)
})